Ⅰ. 컴퓨팅 시스템 - 피지컬 컴퓨팅 시스템의 구현

AI와 함께 만드는 지능형 태양광 시스템

수업 자료 안내	https://2026-ai.pages.dev/

단원	Ⅰ. 컴퓨팅 시스템 - 피지컬 컴퓨팅 시스템의 구현
주제명	AI와 함께 만드는 지능형 태양광 시스템
성취기준	[9정01-02] 피지컬 컴퓨팅의 개념을 이해하고, 생활 속에서 적용된 사례 조사를 통해 컴퓨팅 시스템의 필요성과 가치를 판단한다. [9정01-03] 문제 해결 목적에 맞는 피지컬 컴퓨팅 구성요소를 선택하여 시스템을 구상한다.
학습목표	• 시스템적 사고와 구현: 태양광 에너지의 수집·저장·활용으로 이어지는 입력-처리-출력 구조를 이해하고, Tinkercad로 하이브리드 가로등과 추적 장치 회로를 설계할 수 있다. • AI 협업 및 최적화: 생성형 AI(ChatGPT, Gemini)에게 구체적인 핀 연결 정보와 제어 조건을 제시하여 하이브리드 충·방전 로직과 실시간 태양 추적 코드를 구현하고 문제를 해결할 수 있다.
교과 핵심 아이디어	사용자의 목적에 적합한 피지컬 컴퓨팅 시스템을 설계하고 생성형 AI와의 협업을 통해 실생활의 에너지 문제를 효율적으로 해결하는 지능형 소프트웨어를 구현한다.

수업 구성

학생들이 배워야 할 핵심내용	수업방법 및 단계	학생활동	평가 내용
• 에너지 하이브리드 가로등 설계 • 하이브리드 가로등의 구조와 전력 흐름 • 캐패시터·다이오드를 이용한 에너지 저장 및 역류 방지 • 지능형 태양광 추적기 최적화 • 조도 센서를 이용한 데이터 수집 • 서보모터를 활용한 회전 제어 • 생성형 AI 협업 및 문제해결 • AI를 활용한 제어 로직 구현 및 오류 수정	• 에너지 흐름 이해 • 친환경 가로등 사례로 시스템 전체 구조 분석 • Tinkercad로 가로등 구동부 회로 설계 • 에너지 수집 최적화 • 태양광 추적 알고리즘 원리 학습 • Tinkercad로 정밀 추적 구동부 시뮬레이션 • AI 협업 코딩 및 디버깅 • 프롬프트 작성을 통한 충·방전 및 추적 코드 생성	• 하이브리드 시스템 분석 • 입력(패널)-저장(캐패시터)-출력(LED) 관계도 완성 • 가상 환경에서 회로 구성 • 스마트 추적 시스템 구축 • 동·남·서 조도 센서와 서보모터 회로 구축 • AI 상호작용 및 완성 • 5가지 핵심 연결 정보를 AI에게 제공하여 코드 획득 • 오류 분석 및 AI 피드백으로 코드 개선	• 시스템 구조 이해도 • 태양광 에너지의 수집-저장-활용 과정 논리적 설명 • 에너지 역류 방지 회로 설계 목적 부합 여부 • 데이터 기반 문제해결 • 센서 최댓값 판단 및 모터 각도 제어 로직 이해 • 디지털 역량 및 태도 • AI에게 구체적 요구사항 전달 및 코드 분석 • 에너지 문제 해결 의지

수업 과정

1단계 지능형 태양광 시스템의 이해 및 설계 구상	친환경 가로등 사례를 통해 피지컬 컴퓨팅 시스템의 전체 구조를 살펴보고, 태양광 에너지를 효율적으로 수집·저장하여 밤에 활용하는 시스템의 흐름을 이해한다. 태양광 패널·조도 센서(입력), LED·서보모터(출력), 에너지 저장(캐패시터), 지능형 제어(아두이노)가 하나의 시스템으로 연결되는 과정을 파악한다. 회로 구성 및 각도 제어 방식을 설계하며 각 구성 요소의 역할을 정리한다.

2단계 에너지 관리 및 추적 구동부 회로 구성	Tinkercad Circuits에서 아두이노와 브레드보드를 활용하여 통합 구동부 회로를 가상으로 구성한다. 태양광 패널에서 생성된 전기가 역류하지 않고 캐패시터에 저장되도록 다이오드를 포함한 저장 회로를 구축한다. 동(A0)·남(A1)·서(A2) 세 방향의 조도 센서 회로를 배치하고, LED와 서보모터(D9)를 연결하여 회로 환경을 완성한다.

3단계 AI 협업 코딩 구현 및 시스템 완성	생성형 AI(ChatGPT, Gemini)와 대화하며 에너지 상태를 읽고 태양 위치를 추적하는 통합 제어 로직을 구현한다. AI에게 구체적인 핀 연결 상황을 제시하여 충·방전 판단 조건과 3개 센서값 비교를 통한 모터 회전 코드를 생성하고 임계값을 설정한다. 완성된 코드를 시뮬레이션에 적용하여 동작을 점검하며, 오류를 분석하고 AI의 조언을 받아 지능형 피지컬 컴퓨팅 시스템을 완성한다.

AI 윤리

함께 고민하기

의사결정의 우선순위

시스템 보호를 위한 '전원 차단'과 공공 안전을 위한 '점등 유지'가 충돌할 때, 설계자는 어떤 가치를 우선해야 하며 이를 구현하기 위한 안전 우선형 알고리즘을 어떻게 설계해야 하는가?

지속 가능성과 사회적 책임

부품의 생산부터 폐기까지의 자원 순환 과정이 환경에 미치는 영향을 고려할 때, 해당 시스템을 진정한 '친환경 기술'로 정의할 수 있는지 윤리적 관점에서 판단할 수 있는가?

시스템 정밀도와 최적화

에너지 효율을 위한 '정밀 추적'과 부품 내구성을 위한 '제어 최소화' 사이의 최적의 타협점을 찾고, 이를 시스템 설계에 공학적으로 반영할 수 있는가?

안전 관리와 제어권

자동화 시스템의 완성은 '정확한 동작'이 아닌 '안전한 멈춤'에 있음을 이해하고, 물리적 위험 발생 시 시스템이 스스로 위험을 감지하여 대처하는 페일 세이프(Fail-safe) 로직을 어떻게 설계할 수 있는가?

서논술형 평가 문항

서논술형 평가 문항

1. 에너지 하이브리드 가로등 시스템에서 다이오드(Diode)를 회로에 포함시킨 이유를 에너지 흐름의 관점에서 설명하고, 캐패시터가 충전된 상태와 방전 중인 상태를 아두이노가 어떻게 구분하여 동작을 제어하는지 서술하시오.

2. 태양광 추적 시스템에서 조도 센서 3개(동·남·서)의 값을 비교하여 서보모터의 각도를 결정하는 알고리즘을 설명하고, tolerance(감도) 값을 너무 낮게 설정하거나 너무 높게 설정했을 때 각각 어떤 문제가 발생하는지 시스템 성능과 부품 내구성의 관점에서 서술하시오.

채점 기준표 (루브릭)

평가 요소	성취수준	평가 기준
에너지 흐름 및 충·방전 제어 로직 이해	상	다이오드의 역류 방지 역할을 에너지 흐름(패널→다이오드→캐패시터) 관점에서 정확히 서술하고, A0 핀 전압 비교를 통한 모드 판단 로직(4.5V 기준)과 A1 핀의 캐패시터 전압 측정 방식을 구체적으로 설명함.
	중	다이오드의 역할과 전압 기반 제어 방식을 언급했으나, 핀 연결 정보나 판단 조건에 대한 구체적 설명이 부족함.
	하	다이오드 역할이나 충·방전 제어 로직 중 하나 이상을 잘못 이해하거나 서술하지 못함.
추적 알고리즘 및 tolerance 설계 트레이드오프 이해	상	3개 센서값 비교를 통한 모터 방향 결정 알고리즘(동→170°, 서→10°, 남→90°)을 정확히 서술하고, tolerance가 낮을 때 모터 떨림·수명 단축 문제와 높을 때 추적 정밀도 저하 문제를 시스템 성능과 부품 내구성의 관점에서 균형 있게 논술함.
	중	추적 알고리즘이나 tolerance 문제 중 하나는 설명했으나, 두 관점(성능·내구성)을 연결하는 설명이 부족함.
	하	알고리즘을 단순 나열하거나 tolerance의 의미를 이해하지 못한 채 서술함.

Ⅰ. 컴퓨팅 시스템 - 피지컬 컴퓨팅 시스템의 구현

에너지 하이브리드 가로등 — 시스템 구현

【학습 목표】

① 에너지 하이브리드 가로등의 구조를 이해하고, 피지컬 컴퓨팅 시스템의 에너지 흐름(입력-처리-저장-출력)을 설명할 수 있다.

② Tinkercad Circuits에서 태양광 패널·캐패시터·다이오드·LED·아두이노를 연결하여 구동부 회로를 구성할 수 있다.

③ 생성형 AI와 협업하여 충·방전 제어 코드를 구현하고, 전원 모드 전환 및 저전압 경고 기능을 완성할 수 있다.

1 🔆 시스템 이해 — 하이브리드 가로등의 에너지 흐름

【부품 역할 정리】

부품명	구분	핵심 역할
태양광 패널	에너지 수집	빛 에너지를 수집하며 전압으로 밝기를 감지함
캐패시터	에너지 저장	낮에 생산된 전기를 저장하여 밤에 공급함
다이오드	흐름 제어	전기가 패널로 되돌아가는 역류를 방지함
슬라이드 스위치	모드 선택	태양광 전원(왼쪽) 또는 아두이노 외부 전원(오른쪽) 수동 선택
아두이노	시스템 관리	전압을 감지해 전원 모드를 판단하고 경고 메시지를 처리함
저항	부품 보호	과전류를 차단하여 LED 부품의 손상을 방지함
LED	물리적 동작	저장된 에너지를 사용하여 빛을 생성함

【입력-처리-저장-출력 구조】

구분	구성 요소	역할 설명
입력 (Input)	태양광 패널, 스위치	환경 에너지 수집 및 사용자 전원 모드 명령 전달
처리 (Process)	아두이노 (MCU)	전압 감지 및 충·방전 로직 판단
저장 (Storage)	캐패시터, 다이오드	에너지 비축 및 전류 역류 방지
출력 (Output)	LED	저장된 에너지를 빛으로 변환하여 시스템 목적 달성

2 🔌 회로 구성하기 (1차시)

핀 연결 상세 안내

1. 태양광 패널 — 양극(+, 빨간 선) → 브레드보드 양극(+) 레일 / 음극(-, 검은 선) → 브레드보드 음극(-) 레일 + 아두이노 GND 공통 접지

2. 캐패시터 — 양극(+, 긴 다리) → 다이오드를 통과한 전력 지점 + 아두이노 A1 핀 연결 / 음극(-, 짧은 다리) → 브레드보드 음극(-) 레일(GND)

3. 다이오드 — 애노드(띠 없는 쪽) → 태양광 패널 양극(+) 레일 / 캐소드(은색 띠 쪽) → 캐패시터 양극(+) 및 스위치 왼쪽 단자가 만나는 지점 (역류 방지)

4. 슬라이드 스위치 — 왼쪽 단자 → 다이오드 캐소드 + 캐패시터 양극 지점(태양광 모드) / 가운데(공통) → LED 양극(+) + 아두이노 A0 핀 / 오른쪽 단자 → 아두이노 5V 핀(아두이노 모드)

5. LED + 저항 — LED 양극(+, 긴 다리) → 슬라이드 스위치 가운데 단자 / LED 음극(-, 짧은 다리) → 저항 한쪽 다리 / 저항 다른 쪽 → GND 레일 (부품 보호)

6. 아두이노 — 5V 핀 → 스위치 오른쪽 단자 / GND 핀 → 브레드보드 음극(-) 레일 / A0 핀 → 스위치 가운데 단자(전원 모드 감지) / A1 핀 → 캐패시터 양극(+)(충전 전압 측정)

【회로 연결 체크리스트】

번호	점검 대상	확인 사항
1	태양광 패널	빨간 선(+)은 양극 레일에, 검은 선(-)은 음극 레일에 연결되었는가? [ ] 확인
2	다이오드	은색 띠(캐소드)가 캐패시터와 스위치가 있는 방향을 향하고 있는가? [ ] 확인
3	캐패시터 용량	100mF(100,000uF) 대용량 제품이 맞는가? [ ] 확인
4	캐패시터 전압	제품 내압이 아두이노 전원인 5V보다 높은가? (예: 16V) [ ] 확인
5	캐패시터 연결	긴 다리(+)는 A1 핀 라인에, 짧은 다리(-)는 음극 레일에 연결되었는가? [ ] 확인
6	저항 사양	LED 보호용 저항의 크기가 220Ω에서 330Ω 사이인가? [ ] 확인
7	LED와 저항	LED의 짧은 다리(-)가 저항을 거쳐 음극 레일(GND)로 연결되었는가? [ ] 확인
8	스위치 연결	왼쪽 단자는 캐패시터 라인에, 오른쪽 단자는 아두이노 5V에 연결되었는가? [ ] 확인
9	모드 감지	스위치의 가운데 단자가 아두이노 A0 핀과 LED 양극(+)에 연결되었는가? [ ] 확인
10	공통 접지	아두이노의 GND 핀과 브레드보드의 음극 레일이 서로 연결되었는가? [ ] 확인

3 🤖 AI와 함께 코드 만들기 (2차시)

AI는 우리가 만든 회로를 볼 수 없습니다. 아래 핀 연결 정보를 먼저 이해하고, 이를 바탕으로 AI에게 정확한 질문을 작성해 보세요.

부품명	연결 핀	AI에게 설명할 핵심 역할
스위치	A0 핀	현재 전원 모드(아두이노/태양광)를 감지함
캐패시터	A1 핀	충전된 에너지가 얼마나 있는지 전압을 측정함
태양광 패널	다이오드 경유	다이오드를 거쳐 캐패시터에 에너지를 보냄
다이오드	역류 방지	전기가 패널로 다시 돌아가지 않게 막아줌
LED	출력 부품	스위치 전원을 받아 작동하며, 음극에 저항이 있음

질문 예시 (참고용)

"아두이노 하이브리드 가로등 코드를 작성해줘. 스위치 가운데 다리는 A0 핀에, 캐패시터 플러스는 A1 핀에 연결했어. 다이오드는 전원 역류 방지용이야. A0 전압이 4.5V보다 크면 [아두이노 모드]라고 출력하고, 나머지는 [태양광 모드]와 함께 A1의 실제 전압(V)을 보여줘. delay 대신 millis 함수를 써서 2초 간격으로 리포트를 보여줘."

✏  나만의 프롬프트 작성해보기

【Tinkercad 동작 확인 및 트러블슈팅】

동작 확인 사항	결과	작동 안 할 때 AI 피드백 예시
스위치를 옮기면 전원 모드 이름이 바뀌나요?	예 / 아니오	"모드 이름이 안 바뀌어. A0 설정을 확인해줘."
시리얼 모니터에 데이터가 2초 간격으로 올라오나요?	예 / 아니오	"값이 너무 빨리 올라와. 2초 간격으로 출력해줘."
패널의 빛을 조절할 때 전압 숫자가 변하나요?	예 / 아니오	"빛을 바꿔도 전압이 0이야. A1 코드를 점검해줘."
전압이 3.0V 미만일 때 경고 메시지가 뜨나요?	예 / 아니오	"전압이 낮은데 경고가 안 떠. 조건문을 수정해줘."

✏  내가 AI에게 보낼 피드백

예) 스위치를 옮겼는데 계속 SOLAR POWER라고만 나와. 모드 전환 기능을 다시 확인해줄래?

AI 답변 메모

최종 결과 기록

모든 기능을 성공적으로 구현했나요? 완성된 시리얼 모니터의 화면을 간단히 메모해 보세요.

최종 상태 출력값:

[ 참고 코드 ] 에너지 하이브리드 가로등

unsigned long previousMillis = 0;

const long interval = 2000;

void setup() {

Serial.begin(9600);

pinMode(A1, INPUT);  // 캐패시터 전압 측정용

pinMode(A0, INPUT);  // 스위치 상태 감지용

}

void loop() {

unsigned long currentMillis = millis();

if (currentMillis - previousMillis >= interval) {

previousMillis = currentMillis;

int chargeLevel  = analogRead(A1);

float solarVoltage = chargeLevel * (5.0 / 1023.0);

int senseValue   = analogRead(A0);

float currentPower = senseValue * (5.0 / 1023.0);

Serial.println("---------- Status Report ----------");

if (currentPower > 4.5) {

Serial.println("Mode: [ARDUINO POWER] - Stable");

} else {

Serial.print("Mode: [SOLAR POWER] - ");

Serial.print(solarVoltage);

Serial.println(" V");

if (solarVoltage < 3.0) {

Serial.println("Warning: Low Energy!");

}

}

Serial.println("-----------------------------------");

}

}

Ⅰ. 컴퓨팅 시스템 - 피지컬 컴퓨팅 시스템의 구현

에너지 효율을 위한 태양광 추적 시스템 구현

【학습 목표】

① 조도 센서의 저항 변화 원리와 서보모터의 각도 제어 원리를 이해하고, 태양광 추적 시스템의 데이터 흐름(입력-처리-출력)을 설명할 수 있다.

② Tinkercad Circuits에서 조도 센서 3개(동·남·서)·서보모터·아두이노를 연결하여 추적 구동부 회로를 구성할 수 있다.

③ 생성형 AI와 협업하여 센서 값 비교 기반 실시간 추적 제어 코드를 구현하고 시뮬레이션으로 검증할 수 있다.

🔗  실습 1과의 연결

실습 1에서 태양광 에너지를 저장하고 활용하는 시스템을 만들었습니다.

실습 2에서는 에너지 수집 효율을 극대화하기 위해, 태양의 위치를 실시간으로 추적하여 패널의 방향을 자동으로 조절하는 시스템을 구현합니다.

1 ☀ 시스템 이해 — 태양광 추적 시스템의 데이터 흐름

【부품 역할 정리】

부품명	구분	핵심 역할
조도 센서 3개	방향 감지	동(A0)·남(A1)·서(A2) 방향의 빛 세기를 감지하여 전압 데이터로 전달
서보모터	물리적 구동	아두이노의 신호를 받아 패널의 각도를 해당 방향으로 회전 (0~180도)
아두이노	시스템 관리	3개 센서 값을 비교하여 모터가 움직일 각도를 결정하고 명령함
저항 (10kΩ)	부품 보호	조도 센서와 함께 전압을 분배하고 과전류를 차단함 (풀다운 저항)

【입력-처리-출력 구조】

구분	구성 요소	역할 설명
입력 (Input)	조도 센서 3개	각 방향의 빛 세기(데이터) 수집
처리 (Process)	아두이노 (MCU)	가장 밝은 방향 판단 및 모터 각도 계산
출력 (Output)	서보모터	지정된 각도로 패널 회전 및 물리적 동작

📡  조도 센서 동작 원리

• 빛이 밝을수록 → 저항 감소 → 전압 증가 → analogRead 값 증가

• 빛이 어두울수록 → 저항 증가 → 전압 감소 → analogRead 값 감소

• 3개 센서의 값을 비교하여 가장 밝은 방향으로 서보모터를 회전시킴

2 🔌 회로 구성하기 (3차시)

핀 연결 상세 안내

1. 조도 센서 3개 (동·남·서) — 한쪽 다리 → 브레드보드 양극(+) 레일(5V 전원) / 반대쪽 다리 → 아두이노 아날로그 핀(동-A0, 남-A1, 서-A2) + 저항 한쪽 다리와 함께 연결

2. 저항 (10kΩ × 3개, 풀다운) — 한쪽 다리 → 조도 센서 반대쪽 다리 + 아두이노 아날로그 핀이 만나는 지점 / 다른 쪽 다리 → 브레드보드 음극(-) 레일(GND)

3. 서보모터 — 전원선(빨간색) → 브레드보드 양극(+) 레일 / 접지선(검은색/갈색) → 브레드보드 음극(-) 레일 / 신호선(주황색/노란색) → 아두이노 디지털 9번 핀(D9)

4. 아두이노 — 5V 핀 → 브레드보드 양극(+) 레일(전체 부품 전원 공급) / GND 핀 → 브레드보드 음극(-) 레일 / A0·A1·A2 핀 → 각 조도 센서와 저항이 만나는 지점 / D9 핀 → 서보모터 신호선

【회로 연결 체크리스트】

번호	점검 대상	확인 사항
1	조도 센서 동(A0)	동쪽(A0) 센서의 한쪽 다리가 아두이노 5V(+)에 연결되었는가? [ ] 확인
2	조도 센서 남(A1)	남쪽(A1) 센서의 한쪽 다리가 아두이노 5V(+)에 연결되었는가? [ ] 확인
3	조도 센서 서(A2)	서쪽(A2) 센서의 한쪽 다리가 아두이노 5V(+)에 연결되었는가? [ ] 확인
4	풀다운 저항	각 센서의 다른 쪽 다리에 10kΩ 저항이 연결되어 접지(GND)로 가는가? [ ] 확인
5	아날로그 입력	센서와 저항이 만나는 지점이 각각 A0, A1, A2 핀으로 연결되었는가? [ ] 확인
6	서보모터 전원	서보 모터의 빨간 선은 5V(+), 갈색(검은색) 선은 GND(-)에 연결되었는가? [ ] 확인
7	서보 신호선	서보 모터의 주황색(노란색) 신호선이 디지털 9번 핀에 연결되었는가? [ ] 확인
8	센서 배치	조도 센서 3개가 동-남-서 방향을 향하도록 물리적으로 배치되었는가? [ ] 확인
9	회로 간섭	각 센서 사이의 가림막이 있어 빛의 방향을 명확히 구분할 수 있는가? [ ] 확인
10	공통 접지	아두이노 GND와 브레드보드의 음극 레일이 하나로 연결되었는가? [ ] 확인

3 🤖 AI와 함께 코드 만들기 (4차시)

아래 핀 연결 정보를 먼저 이해하고, 이를 바탕으로 AI에게 정확한 질문을 작성해 보세요.

부품명	연결 핀	AI에게 설명할 핵심 역할
조도 센서 (동)	A0 핀	동쪽에서 들어오는 빛의 밝기를 측정함
조도 센서 (남)	A1 핀	남쪽에서 들어오는 빛의 밝기를 측정함 (기준점)
조도 센서 (서)	A2 핀	서쪽에서 들어오는 빛의 밝기를 측정함
서보모터	D9 핀	패널의 각도를 조절함 (0~180도 이동)
저항 (10kΩ)	풀다운	센서 값이 안정적으로 읽히도록 전압을 분배함

질문 예시 (참고용)

"아두이노 태양광 추적 시스템 코드를 작성해줘. 조도 센서는 총 3개야. 동쪽은 A0, 남쪽은 A1, 서쪽은 A2 핀에 연결했어. 서보 모터는 9번 핀에 연결되어 있어. 동쪽 센서값이 가장 크면 서보 각도를 서서히 높여주고(170도 방향), 서쪽이 가장 크면 각도를 낮춰줘(10도 방향). 남쪽이 밝거나 값이 비슷하면 90도를 유지해줘. 시리얼 모니터로 각 센서 값과 현재 각도를 0.5초마다 출력해줘."

✏  나만의 프롬프트 작성해보기

【Tinkercad 동작 확인 및 트러블슈팅】

동작 확인 사항	결과	작동 안 할 때 AI 피드백 예시
손전등 빛을 동쪽으로 치우치면 모터가 움직이나요?	예 / 아니오	"빛을 옮겨도 모터가 꿈쩍도 안 해. 9번 핀 설정을 확인해줘."
시리얼 모니터에 센서 3개의 값이 모두 출력되나요?	예 / 아니오	"A1 센서 값만 안 나와. analogRead 부분을 다시 봐줄래?"
빛이 없는 곳으로 가면 모터가 90도(남쪽)로 돌아오나요?	예 / 아니오	"어두워져도 모터가 멈춰있어. else 조건문을 수정해줘."
모터가 딸깍거리지 않고 부드럽게 움직이나요?	예 / 아니오	"모터가 너무 떨려. 각도 변화에 delay를 줘."

✏  내가 AI에게 보낼 피드백

예) 스위치를 옮겼는데 계속 SOLAR POWER라고만 나와. 모드 전환 기능을 다시 확인해줄래?

AI 답변 메모

최종 결과 기록

모든 기능을 성공적으로 구현했나요? 완성된 시리얼 모니터의 화면을 간단히 메모해 보세요.

최종 상태 출력값:

[ 참고 코드 ] 태양광 추적 시스템

#include <Servo.h>

Servo tracker;

int pos = 90;         // 시작은 남쪽(90도)

int tolerance = 20;   // 감도 조절

void setup() {

tracker.attach(9);

tracker.write(pos);

Serial.begin(9600);

}

void loop() {

int valE = analogRead(A0);  // 동쪽 센서

int valS = analogRead(A1);  // 남쪽 센서

int valW = analogRead(A2);  // 서쪽 센서

// 1. 동쪽(A0)이 제일 밝으면 → 170도 방향으로 이동

if (valE > valS + tolerance && valE > valW + tolerance) {

if (pos < 170) pos += 2;

}

// 2. 서쪽(A2)이 제일 밝으면 → 10도 방향으로 이동

else if (valW > valS + tolerance && valW > valE + tolerance) {

if (pos > 10) pos -= 2;

}

// 3. 남쪽(A1)이 제일 밝거나 값이 비슷하면 → 90도 유지

else {

if (pos < 90) pos += 2;

else if (pos > 90) pos -= 2;

}

tracker.write(pos);

Serial.print("E(A0):");  Serial.print(valE);

Serial.print(" | S(A1):");  Serial.print(valS);

Serial.print(" | W(A2):");  Serial.print(valW);

Serial.print(" | Current Angle:");  Serial.println(pos);

delay(30);

}

Ⅰ. 컴퓨팅 시스템 - 피지컬 컴퓨팅 시스템의 구현

스스로 돌아보기

라. 스스로 돌아보기

1) 학습 목표 달성도를 스스로 평가하고, AI 활용 윤리를 점검해 보세요. (해당 칸에 ✓)

자기 평가 항목	잘함	보통	노력
① 에너지 하이브리드 가로등의 구조를 이해하고, 태양광 패널·캐패시터·다이오드·LED의 역할과 에너지 흐름(입력-저장-출력)을 설명할 수 있다.	○	○	○
② Tinkercad Circuits에서 두 실습의 회로를 직접 구성하고, 각 부품의 연결 방법과 핀 번호를 파악할 수 있다.	○	○	○
③ 생성형 AI와 협업하여 충·방전 제어 코드와 태양광 추적 제어 코드를 구현하고, 오류를 스스로 분석하여 수정할 수 있다.	○	○	○
④ 조도 센서의 저항 변화 원리를 이해하고, 서보모터가 가장 밝은 방향을 향해 각도를 조절하는 과정을 설명할 수 있다.	○	○	○
⑤ AI에게 정확한 코드를 얻기 위해 핀 연결 정보와 동작 조건을 구체적으로 제시하는 프롬프트를 작성할 수 있다.	○	○	○

2) 오늘 수업에서 새롭게 알게 된 점 또는 더 궁금한 점을 적어보세요.

예) 가상의 회로에서도 실제처럼 전압이 측정된다는 것이 신기했다. / tolerance 값을 더 조정해보고 싶다.

3) 아래 주제를 읽고, 자신의 생각을 적어보세요.

【의사결정의 우선순위】

시스템 보호를 위한 '전원 차단'과 공공 안전을 위한 '점등 유지'가 충돌할 때, 설계자는 어떤 가치를 우선해야 하며 이를 구현하기 위한 안전 우선형 알고리즘을 어떻게 설계해야 하는가?

예) 배터리 잔량이 임계치 이하일 때도 최소 조도를 유지하는 페일 세이프 로직이 필요하다. 왜냐하면...

【지속 가능성과 사회적 책임】

부품의 생산부터 폐기까지의 자원 순환 과정이 환경에 미치는 영향을 고려할 때, 해당 시스템을 진정한 '친환경 기술'로 정의할 수 있는지 윤리적 관점에서 판단할 수 있는가?

예) 태양광 패널 자체를 만들 때도 희토류 자원이 소비된다. 따라서 친환경이라고 단정하기 전에...

【시스템 정밀도와 최적화】

에너지 효율을 위한 '정밀 추적'과 부품 내구성을 위한 '제어 최소화' 사이의 최적의 타협점을 찾고, 이를 시스템 설계에 공학적으로 반영할 수 있는가?

예) tolerance 값을 너무 낮추면 모터가 계속 떨리고 수명이 줄어든다. 반면 너무 높이면...

【안전 관리와 제어권】

자동화 시스템의 완성은 '정확한 동작'이 아닌 '안전한 멈춤'에 있음을 이해하고, 물리적 위험 발생 시 시스템이 스스로 위험을 감지하여 대처하는 페일 세이프(Fail-safe) 로직을 어떻게 설계할 수 있는가?

예) 과전압 감지 시 모터와 LED를 즉시 정지시키는 조건문을 setup()이 아닌 loop() 안에 두어야 한다. 왜냐하면...